package org.jeecg.modules.friends.auth.service;

import java.util.List;
import java.util.Set;

import org.jeecg.modules.friends.auth.dto.AuthDetailInfo;
import org.jeecg.modules.friends.auth.dto.AuthInfo;
import org.jeecg.modules.friends.auth.entity.UserAuthentication;
import org.jeecg.modules.friends.auth.param.EditAuthInfoRequest;
import org.jeecg.modules.friends.user.entity.User;
import org.jeecg.modules.friends.user.param.OperateAuthInfoParam;

import com.baomidou.mybatisplus.extension.service.IService;

/**
 * @Description: 认证信息表
 * @Author: jeecg-boot
 * @Date:   2024-05-15
 * @Version: V1.0
 */
public interface IUserAuthenticationService extends IService<UserAuthentication> {

    void updateUserAuthInfo(EditAuthInfoRequest request, User user);

    List<UserAuthentication> selectByUserId(Long id);

    AuthInfo queryUserAuthInfo(User user);
    AuthInfo queryUserAuthInfoV2(User user);

    AuthDetailInfo queryAuthDetailInfo(User user);

    void operateAuthInfo(OperateAuthInfoParam param);

    List<UserAuthentication> selectByUserIdSet(Set<Long> userIdSet);

    void deleteByUserId(Long userId);
}
